diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index 0317489..85505ce 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -156,13 +156,6 @@
 	 */
 	protected $_default		= ' DEFAULT ';
 
-	/**
-	 * COMMENT value representation in CREATE/ALTER TABLE statements
-	 *
-	 * @var	string
-	 */
-	protected $_comment		= ' COMMENT ';
-
 	// --------------------------------------------------------------------
 
 	/**
@@ -777,7 +770,6 @@
 				'unique'		=> '',
 				'default'		=> '',
 				'auto_increment'	=> '',
-				'comment'		=> '',
 				'_literal'		=> FALSE
 			);
 
@@ -815,7 +807,11 @@
 
 			$this->_attr_auto_increment($attributes, $field);
 			$this->_attr_unique($attributes, $field);
-			$this->_attr_comment($attributes, $field);
+
+			if (isset($attributes['COMMENT']))
+			{
+				$field['comment'] = $this->db->escape($attributes['COMMENT']);
+			}
 
 			if (isset($attributes['TYPE']) && ! empty($attributes['CONSTRAINT']))
 			{
@@ -858,8 +854,7 @@
 			.$field['default']
 			.$field['null']
 			.$field['auto_increment']
-			.$field['unique']
-			.$field['comment'];
+			.$field['unique'];
 	}
 
 	// --------------------------------------------------------------------
@@ -997,28 +992,6 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Field attribute COMMENT
-	 *
-	 * @param	array	&$attributes
-	 * @param	array	&$field
-	 * @return	void
-	 */
-	protected function _attr_comment(&$attributes, &$field)
-	{
-		if ($this->_comment === FALSE)
-		{
-			return;
-		}
-
-		if (!empty($attributes['COMMENT']))
-		{	
-			$field['comment'] = $this->_default.$this->db->escape($attributes['COMMENT']);
-		}
-	}
-
-	// --------------------------------------------------------------------
-
-	/**
 	 * Process primary keys
 	 *
 	 * @param	string	$table	Table name
